package com.ce.pms.charge.dao;

import java.util.List;

import com.ce.pms.base.dao.IPmsBaseDao;

import com.ce.pms.charge.model.VoucherDomain;
import com.ce.pms.charge.vo.ChargeVoucherSearchVO;
import com.sitechasia.webx.core.support.Page;

public interface IChargeVoucherDao  extends IPmsBaseDao<VoucherDomain> {

	/**
	 * 功能描述:查询符合条件的当前面凭证信息  <br>
	 * @param obj
	 * @return
	 * Create author:黄彦军 <br>
	 * Create on:2008-8-14  <br>
	 * Edit author:  <br>
	 * Edit on:    <br>
	 * Why:     <br>
	 */
	public Page queryCurrentlyPageVoucher(ChargeVoucherSearchVO voucherSearchVO);

	/**
	 * 功能描述:查找打印总数  <br>
	 * @return
	 * Create author:黄彦军 <br>
	 * Create on:2008-8-22  <br>
	 * Edit author:  <br>
	 * Edit on:    <br>
	 * Why:     <br>
	 */
	public List findPrintTotal();

	/**
	 * 功能描述:根据指定编号前缀当天最大的流水序号<br>
	 * @param prifix
	 * @return<br>
	 * Create author:罗军林<br>
	 * Create on:2008-9-28<br>
	 * Edit author:<br>
	 * Edit on:<br>
	 * Why:<br>
	 */
	public int getMaxVoucherNumSeqByType(String prifix);


	/**
	 * 功能描述:根据参数代码查询 参数值  <br>
	 * @param pkey
	 * @return
	 * Create author:黄彦军 <br>
	 * Create on:2008-10-9  <br>
	 * Edit author:  <br>
	 * Edit on:    <br>
	 * Why:     <br>
	 */
	public Long findPvalueByPkey(String pkey);

	/**
	 * 功能描述:根据主交易ID 查询收费凭证信息  <br>
	 * @param transId
	 * @return
	 * Create author:黄彦军 <br>
	 * Create on:2008-10-10  <br>
	 * Edit author:  <br>
	 * Edit on:    <br>
	 * Why:     <br>
	 */
	public List getChanagVoucherInfo(Long transId);

	/**
	 * 功能描述:打印一个凭证，将打印资料加1,如果状态为新建的，则修改为已打印  <br>
	 * @param voucherID
	 * Create author:黄彦军 <br>
	 * Create on:2008-8-22  <br>
	 * Edit author:  <br>
	 * Edit on:    <br>
	 * Why:     <br>
	 */
	public void updateVoucherStart(Long voucherId);
}
